package com.atkxp.config;

import com.atkxp.pojo.Blog;
import com.atkxp.service.BlogService;
import com.atkxp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author user
 * @declaration
 * @create 2022/11/10-18:41
 */
public class IndexInterceptor implements HandlerInterceptor {
    @Autowired
    @Qualifier("blogServiceImpl")
    private BlogService blogService;

    @Autowired
    @Qualifier("userServiceImpl")
    private UserService userService;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        List<Blog> blogs = blogService.getAllBlog();
        request.getSession().setAttribute("userservice", userService);
        request.getSession().setAttribute("blogs", blogs);
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}
